<?php
class SAUsuario extends Datos
{
    public $sausuario_id;
    public $nombre;
    public $login;
    public $password;
    public $administrador;
    public $entidad;

    const TABLA             = "sausuarios";
    const CLAVE_PRIMARIA    = "sausuario_id";
    
    public function esAdministrador()
    {
        return (SAConstantes::SI == $this->getPropiedad("administrador"));	
    }
    
    public function registraTipos()
    {
    	$opciones = array();
    	$opciones[SAConstantes::SI] = SAConstantes::SI;
    	$opciones[SAConstantes::NO] = SAConstantes::NO;
    	
        $this->setTipo("nombre",        new TipoDatoLiteral(100));	
        $this->setTipo("login",         new TipoDatoLiteral(25));	
        $this->setTipo("password",      new TipoDatoLiteral(25));	
        $this->setTipo("administrador", new TipoDatoSeleccion($opciones));	
        $this->setTipo("entidad",       new TipoDatoEntero());	
    }   
    
    public function registraEsenciales()
    {
    	$this->setEsencial("nombre");
    	$this->setEsencial("login");
    	$this->setEsencial("password");
    	$this->setEsencial("administrador");
    }
    
    public function registraUnicos()
    {
    	$this->setUnico("login");
    }
        
    public function registraSoloLectura()
    {
    	$this->setSoloLectura("login");
    }
    
    public function registraMetas()
    {
    	$this->setInfo("nombre",           "Nombre",           "Nombre completo del usuario");
    	$this->setInfo("login",            "Login",            "Login de acceso");
    	$this->setInfo("password",         "Password",         "Clave de acceso");
    	$this->setInfo("administrador",    "Administrador",    "Indica si el usuario es administrador");
    	$this->setInfo("entidad",          "Entidad",          "Relacion entre aplicacion y autenticador");
    }
     
    public function getTabla()
    {
        return self::TABLA;
    }

    public function getClavePrimaria()
    {
        return self::CLAVE_PRIMARIA;
    }
}
?>